1.关于service是调用service还是dao
call service vs dao from another service

https://stackoverflow.com/questions/32049609/call-service-vs-dao-from-another-service
```
Normally DAO layer is close to database, Service layer is encapsulating your business logic, performing any transactions or other things rather than just calling DAO.

Service calling another service is more common because

Your RoleService can have some business code evaluated, you can benefit from transactions or passing messages via JMS or you can have some security on service methods in future. So separating concerns is good practice.

Easy to mock the services and test ( this can be argued even DAO can be tested), but separating business logic is good way by using service layer interfaces.

But if you dont have any business logic in service layer, you can avoid redundant code by simply using DAO (but for the future you will have a code debt for refactoring if you think of service layer business )
```
